let app;
/**
 * 重新封装的wx.request, 用户统一处理请求
 * @param value  等同于wx.request参数
 * @param bacFun 方法的回调
 */
function requests(value, backFun) {
  //检查url是否为空
  if (!value["url"] || value["url"] == "") {
    if (backFun) {
      backFun();
    } else {
      console.log("缺少url参数，无法发送请求");
    }
  }

  //添加请求时间戳
  if (value["url"].indexOf("?", 1) != -1) {
    value["url"] = value["url"] + "&t=" + new Date().getTime();
  } else {
    value["url"] = value["url"] + "?t=" + new Date().getTime();
  }

  //发起请求
  wx.request({
    url: value["url"],
    data: value["data"] ? value["data"] : '',
    header: value["header"] ? value["header"] : getHeader(value["method"]),
    method: value["method"] ? value["method"] : 'GET',
    dataType: value["dataType"] ? value["dataType"] : '',
    success: function (res) {
      if (value["success"]) {
        value["success"](res);
      }
    },
    fail: function (res) {
      if (value["fail"]) {
        value["fail"](res);
      }
    },
    complete: function (res) {
      if (value["complete"]) {
        value["complete"](res);
      }
    },
  })
}

/**
 * 获取请求头
 */
function getHeader(value) {
  var re = {};
  if (value == "post" || value == "POST") {
    re["content-type"] = "application/x-www-form-urlencoded";
  } else {
    re["content-type"] = "application/json";
  }
  if (app.g.userInfo) {
    if (app.g.userInfo["api_token"]) {
      re["api-token"] = app.g.userInfo["api_token"];
    }
  }
  return re;
}

/**
 * 初始化
 */
function init(value) {
  if (!app) {
    app = value;
  }
}

module.exports = {
  init: init,
  request: requests
}